Automatic detection of device type for filtering of data

ABSTRACT

Methods are provided for filtering, collecting, and analyzing location data for a plurality of devices in a wireless network. Location data for one or more devices is received, for each device the location data includes a unique identifier. Whether the devices belong to the group of devices is determined based on the unique identifier. The location data of devices determined to belong to the group of devices are stored and used in the mobility analysis and the results distributed accordingly. A relevancy analysis may be performed on the stored location data of devices determined to belong to the group of devices in which device information is generated that is associated with devices not belonging to the group of devices. The device information is fed back to determine whether the devices belong to the group of devices based on the unique identifier.

CROSS REFERENCE TO RELATED APPLICATION

This application is a 35 U.S.C. §371 national stage application of PCTInternational Application No. PCT/EP2012/068706, filed on 21 Sep. 2012,the disclosure and content of which is incorporated by reference hereinin its entirety. The above-referenced PCT International Application waspublished in the English language as International Publication No. WO2014/044323 A1 on 27 Mar. 2014.

TECHNICAL FIELD

The present invention relates to methods and apparatus for filtering,collecting and analysing location data received for a plurality ofdevices in a wireless network. In particular, the invention relates tomethods and apparatus for filtering location data for a plurality ofdevices in the wireless network and analysing location data for devicesbelonging to a group of devices that are relevant to the analysis.

BACKGROUND

All wireless network connected devices create a lot of data related tomobility of the devices, which data can be used in many applicationareas. It is understood that more connected “things” become the moredata related to mobility of the device will be available. In particular,by collecting location data from all connected devices it is possible toconstruct models of how devices are being moved around, which can beused in many application areas, examples of which may include:

-   -   tracking a vehicle fleet to detect and optimize usage;    -   detect human travel patterns to plan transportation        infrastructure;    -   detect human travel patterns to plan advertising campaigns; and    -   track a work force fleet to optimize routines and processing;

One potential source of data related to mobility is location tagged datafrom mobile networks. Devices connected through cellular technology area rich source of mobility data as these devices are known to leave a lotof tracks throughout a mobile network and the network nodes of themobile network. Mobile networks generate a very large amount of data. Itis possible to build a system for collecting location data from mobilenetworks, analyse the location data, and expose it for use by differentapplications and services.

Wireless communication networks may comprise or represent any wirelessnetwork used for wireless communications with devices connected to thewireless network. Examples of wireless networks include, but are notlimited to, wireless networks such as the Worldwide Interoperability forMicrowave Access (WiMAX), wireless local area networks (WLAN) based onthe Institute of Electrical and Electronics Engineers' (IEEE) 802.11standards e.g. Wi-Fi networks, or wireless networks based on cellular orsatellite technologies such as mobile networks, Global System for MobileCommunications (GSM), Wideband Code Division Multiple Access (W-CDMA),CDMA2000 or Long Term Evolution (LTE)/LTE Advanced mobile networks orany 2^(nd), 3^(rd) or 4^(th) Generation and beyond wireless networks.

The device(s) or connected device(s) may comprise or represent anydevice that is capable of connecting to or communicating over a wirelesscommunication network. Examples of devices as described herein include,but are not limited to, wireless devices such as mobile phones,terminals, smart phones, satellite phones, portable computing devicessuch as lap tops, handheld devices, tablets, netbooks, computers,personal digital assistants, Global Positioning System (GPS) personalnavigators, augmented reality glasses, credit card terminals, securitydevices, in-vehicle devices such as vehicle tracking systems or anyother wireless communication device that is mobile and/or wirelessdevices such as sensors, smart meters or utility meters or any otherwireless communication device that typically has a fixed location.

FIG. 1 illustrates an example data collection and analysis system 100used for collecting location data of devices from a mobile network 101,analyses the location data and creates models of device mobility. Themobile network 101 collects data about the locations of all connecteddevices from one or more nodes or different sources in the mobilenetwork 101. The data about the locations of all connected devices aresent from the mobile network 101 to a data collector apparatus 102. Thislocation data from each device may include data representative of thedevice location, a timestamp, and a device identifier. The datacollector apparatus 102 collects this location data from the differentdata sources and converts it into a uniform format suitable foranalysis. The data collector apparatus 102 sends all of the uniformlyformatted location data to a data analyzer apparatus 103 for mobilityprocessing (e.g. mobility analysis). The analyzer apparatus 103processes the location data and creates models of device mobility, whichare sent to a data exposer 104 for storage and/or distribution forfurther processing or integration with other applications and services.

When the data collection and analysis system 100 is configured tocapture data about human mobility, then the captured location datashould only be associated with devices that are carried by humans (e.g.mobile phones, tablets, laptops, music players, cameras, GPS personalnavigators, augmented reality glasses etc.) The location data generatedby devices that are not carried by humans do not represent humanmovements and should not be used as a data source when building modelsof human mobility. When collecting location data from mobile networksthe non-human devices generate a lot of data that if used will both riskmaking the mobility models in relation to devices carried by humansinaccurate and consume a lot of extra bandwidth and storage space.

The converse is also true. For example, when the data collection andanalysis system 100 is configured to capture data about vehicle or fleetmobility, then the captured location data should only be associated withdevices that are carried by vehicles of only a fleet of vehicles. Thelocation data generated by devices that are not carried by vehicles orby the fleet of vehicles do not represent the relevant vehicle movementsand should not be used as data sources when building models of vehiclemobility. When collecting location data from mobile networks the humandevices generate a lot of data that if used will both risk making themobility models for vehicles inaccurate and consume a lot of extrabandwidth and storage space.

System 100 could be designed to track the movement of any group ofdevices such as credit card terminals, security devices, specific typesof vehicles, or any other type of connected device or object with aconnected device attached to it. In all of these cases it is onlyinteresting to follow a group of devices of a certain type. However, inmany cases, information about the device type will not be provided bythe data source. When collecting data from devices that are connected toa communication network (e.g. a mobile network 100) it is generally notpossible to know what type of device the data comes from. The locationdata may come from the mobile phone of a subscriber, a smart meter in ahouse, a credit card reader, or any type of device that is connected toa mobile network 100.

In many scenarios only one or a few kinds of devices may be of interest.For example, only data from humans or data from vehicles may be requiredto analyse human or vehicle movements. Current mobile networks 100provide connectivity to a wide variety of devices and in most cases onlycertain types of devices are of interest for gathering location data.

Collecting data from non-relevant devices creates a lot extra need forbandwidth and storage space. It also risks affecting the mobilityanalytics that is performed on the data. Therefore, there is asignificant need to provide a mechanism for efficiently handlinglocation data received from a variety of data sources and optimise theaccuracy of the mobility models generates from the received locationdata.

SUMMARY

It has been recognised here that whilst there are certain mechanisms forcollecting and analysing location data from wireless networks such asmobile networks, none of the relevant systems allow for collection oflocation data belonging specifically to groups of devices of certaintypes. The present invention provides the advantages of reducing thelocation information transmitted within the system, reducing the storagerequirements to that of only the location information that is relevantto the mobility analysis, and to improve the accuracy of the mobilitymodels generated from the relevant location information.

According to a first aspect of the present invention there is provided amethod for filtering location data from a plurality of devices in awireless network for use in a mobility analysis of a group of thedevices. The method includes receiving location data from the devices,the location data from each device including a unique identifier.Determining the devices that belong to the group of devices based on theunique identifier. Forwarding the location data for those devicesdetermined to belong to the group of devices to an analyser module foruse in the mobility analysis.

As an option, determining the devices that belong to the group ofdevices further includes determining whether the devices are relevant tothe mobility analysis based on the unique identifier.

Optionally, the method further includes maintaining a device databaseincluding a plurality of device records, wherein each device recordindicates whether the device associated with the device record belongsto the group of devices. Additionally or alternatively, determining thedevices that belong to the group of devices further includes queryingthe device database using the unique identifiers to determine thedevices that belong to the group of devices.

As an option, maintaining the device database further includesreceiving, from the analyser module, device information associated withone or more devices determined not to belong to the group of devicesand/or is not relevant to the mobility analysis, and updating eachdevice record associated with the device information to indicate thedevice associated with the device record does not belong to the group ofdevices and/or is not relevant to the mobility analysis. Alternativelyor additionally, maintaining the device database further includesreceiving, from the analyser module, device information associated withone or more devices determined to belong to the group of devices and/orare relevant to the mobility analysis, and updating each device recordassociated with the device information to indicate the device associatedwith the device record belongs to the group of devices and/or isrelevant to the mobility analysis.

Optionally, maintaining the device database further includes receiving,from the analyser module, device information associated with one or moredevices indicating whether the one or more devices are relevant to themobility analysis of the group of devices, and updating each devicerecord associated with the device information to indicate whether thedevice associated with the device record is relevant to the mobilityanalysis.

As an option, the step of determining includes identifying a devicerecord associated with the unique identifier of the location data forthe at least one device, and checking the identified device recordindicates whether the associated device belongs to the group of devicesand/or indicates whether the device is relevant to the analysis.Additionally or alternatively, determining includes identifying a devicerecord associated with the unique identifier of the location data fromeach device, and checking the identified device record indicates whetherthe associated device is relevant to the mobility analysis of the groupof devices.

Optionally, the method further includes analysing the received locationdata for each device to determine whether said each device can beassociated with the group of devices, and updating the device databasedevice records to indicate whether each device belongs to the group ofdevices and/or is relevant to the mobility analysis. This may furtherinclude updating the device record to indicate said each device does notbelong to the group of devices when the analysis indicates said eachdevice is not associated with the group of devices and/or is notrelevant to the mobility analysis. Optionally, analysing the receivedlocation data includes analysing the device speed for each device todetermine whether it is associated with the group of devices' devicespeeds.

As an option, the method includes storing the received location data fordevices found to belong in the group of devices and/or found to berelevant to the mobility analysis.

Optionally, the method may further include performing a statisticalanalysis on the stored received location data to further determinewhether the corresponding devices belong to the group of devices and/orare relevant to the analysis. Additionally, maintaining device recordsassociated with devices determined not to belong to the group of devicesand/or not relevant to the mobility analysis based on the statisticalanalysis.

As an option, each device record associated with a device not relevantto the mobility analysis and/or not belonging to the group of devicesincludes a timestamp indicating when the device record indicated theassociated device does not belong to the group of devices or is notrelevant to the mobility analysis. Maintaining the device databasefurther includes updating each device record to indicate the associateddevice belongs to the group of devices and/or is relevant to themobility analysis after a predetermined period of time has elapsed.Optionally, updating each device record indicating an associated devicebelongs to the group of devices and/or is relevant to the mobilityanalysis is performed when it is determined the associated device hasmoved.

According to a second aspect of the present invention there is provideda method for analysing collected location data for a plurality ofdevices in a wireless network for use in a mobility analysis of a groupof the devices. The method includes maintaining a location databaseincluding a plurality of device location records, where each devicelocation record includes location data of a device belonging to thegroup of devices. Receiving and storing location data for devicesdetermined to belong to the group of devices in the location database.Performing, according to a first schedule, the mobility analysis basedon the location data stored in the location database to generatemobility analysis results for the devices found to be relevant to thegroup of devices.

As an option, the method includes performing, according to a secondschedule, a calculation of the distance each device has moved based onthe location data stored in the location database, and comparing thecalculated distance for each device with a distance threshold todetermine whether each device belongs to the group of devices and/or isrelevant to the mobility analysis. Transmitting, to a data collectiondevice maintaining a device database, device information associated withone or more devices determined not to belong to the group of devicesand/or not relevant to the mobility analysis. The device databaseincludes a plurality of device records, each device record indicateswhether the device associated with the device record belongs to thegroup of devices and/or is relevant to the mobility analysis, where thedevice information is for use in updating device records associated withthe device information.

As an option, the first and second schedules are arranged such thatperforming a calculation of the distance each device has moved isperformed less frequently than performing the mobility analysis togenerate mobility analysis results. Additionally or alternatively,performing the mobility analysis to generate mobility analysis resultsincludes creating mobility models based on the location data stored inthe location database. As an option, the mobility models created includea plurality of origination/destination matrices derived from the storedlocation data. As an option, the method includes forwarding the mobilityanalysis results for further distribution or use by applications and/orservices.

Preferably, the group of devices includes devices relating to one ormore specific device types that are relevant to the mobility analysis.The specific device type may include at least one of a device carried byhumans, and a device carried by non-stationary vehicles, and stationarydevices.

According to a third aspect of the invention there is provided a methodfor collecting and analysing location data for a plurality of devices ina wireless network for use in a mobility analysis of a group of thedevices. The method includes receiving location data for one or more ofthe devices, where the location data for each device includes a uniqueidentifier. Determining the devices that belong to the group of devicebased on the unique identifier, performing the mobility analysis basedon the location data of devices determined to belong to the group ofdevices to generate mobility analysis results, and forwarding themobility analysis results for further distribution.

Optionally, the method further includes maintaining a device databaseincluding a plurality of device records, where each device recordindicates whether the device associated with the device record belongsto the group of devices. Maintaining a location database including aplurality of device location records, where each device location recordincludes location data of a device determined to belong to the group ofdevices for use in the mobility analysis. The step of determiningfurther includes determining from the device database the devices thatbelong to group of devices based on the device identifier. The step ofperforming the mobility analysis further comprises performing themobility analysis based on the location data stored in the locationdatabase.

As an option, the method includes performing a relevancy analysis on theplurality of device location records to determine whether the associateddevices belong to the group of devices. The step of maintaining thelocation database further includes removing each device location recordassociated with a device determined not to belong to the group ofdevices. The step of maintaining the device database further includesupdating each device record associated with a device determined not tobelong to the group of devices.

As an option, the step of performing a relevancy analysis furtherincludes periodically performing a calculation of the distance eachdevice has moved based on the location data stored in the locationdatabase, and comparing the calculated distance for each device with adistance threshold to determine whether the one or more devices belongto the group of devices.

According to a fourth aspect of the invention there is provided anapparatus for filtering location data for a plurality of devices in awireless network for use in a mobility analysis of a group of thedevices. The apparatus including a receiver, a transmitter, a processorand memory, the processor being connected to the receiver, transmitterand memory. The receiver is configured to receive location data for oneor more of the devices, where the location data for each device includesa unique identifier. The processor is further configured to determinethe devices that belong to the group of devices based on the uniqueidentifiers. The transmitter is configured to forward the location datafor devices that are determined to belong to the group of devices to ananalysis apparatus for performing the mobility analysis.

As an option, the receiver is further configured to receive, from theanalyser apparatus device information associated with one or moredevices determined not to belong to the group of devices. The processoris further configured to use the device information in determiningwhether the devices belong to the group of devices based on the uniqueidentifiers.

Optionally, the processor is further configured to maintain a devicedatabase including a plurality of device records, wherein each devicerecord indicates whether the device associated with the device recordbelongs to the group of devices. Alternatively or additionally, theprocessor is further configured to query the device database using theunique identifiers to determine the devices that belong to the group ofdevices. The receiver is further configured to receive, from theanalyser module, device information associated with whether one or moredevices belong to the group of devices. The processor is furtherconfigured to update each device record associated with the deviceinformation to indicate whether the device associated with the devicerecord belongs to the group of devices.

According to a fifth aspect of the invention there is provided anapparatus for analysing collected location data for a plurality ofdevices in a wireless network for use in a mobility analysis of a groupof the devices. The apparatus including a receiver, a transmitter, aprocessor and memory, the processor being connected to the receiver,transmitter and memory. The receiver is configured to receive and storelocation data for devices determined to belong to the group of devices.The processor is configured to perform the mobility analysis based onthe stored location data to generate mobility analysis results for thedevices found to belong to the group of devices. The transmitter isconfigured to forward the mobility analysis results for furtherdistribution or use by applications or services.

As an option, the processor is further configured to perform a relevancyanalysis on the stored location data for devices determined to belong tothe group of devices, and the transmitter is further configured totransmit device information associate with one or more devicesdetermined not to belong to the group of devices. Optionally, theprocessor is further configured to maintain a location databaseincluding a plurality of device location records, wherein each devicelocation record includes location data of a device that belongs to thegroup of devices. The receiver is further configured to store thelocation data for devices determined to belong to the group of devicesin the location database. The processor is further configured to performthe mobility analysis based on the stored location data in the locationdatabase to generate mobility analysis results for the devices found tobelong to the group of devices.

As a further option, the processor is further configured to perform acalculation of the distance each device has moved based on the locationdata stored in the location database and compare the calculated distancefor each device with a distance threshold to determine whether one ormore devices belong to the group of devices. The transmitter is furtherconfigured to transmit, to the apparatus for filtering, deviceinformation associated with whether one or more devices are determinednot to belong to the group of devices, the device information for use bythe apparatus in determining the devices that belong to the group ofdevices based on the unique identifier.

According to a sixth aspect of the invention there is provided anapparatus for filtering and analysing location data for a plurality ofdevices in a wireless network for use in a mobility analysis of a groupof the devices. The apparatus including a receiver, a transmitter, aprocessor and memory, the processor being connected to the receiver,transmitter and memory. The receiver is configured to receive locationdata for one or more of the devices, where the location data for eachdevice includes a unique identifier. The processor is further configuredto determine the devices that belong to the group of devices based onthe unique identifier, store the location data for devices that belongto the group of devices, perform the mobility analysis based on thestored location data to generate mobility analysis results for the groupof devices. The transmitter is configured to forward the mobilityanalysis results for further distribution.

As an option, the processor is further configured to maintain a devicedatabase including a plurality of device records, wherein each devicerecord indicates whether the device associated with the device recordbelongs to the group of devices. Determine from the device database thedevices that belong to the group of devices based on the uniqueidentifier. Maintain a location database including a plurality of devicelocation records, where each device location record includes locationdata of a device determined to belong to the group of devices for use inthe mobility analysis. Perform the mobility analysis based on thelocation data stored in the location database. Perform a relevancyanalysis on the plurality of device location records to determinewhether the associated devices belong to the group of devices. Removefrom the location database each device location record associated with adevice determined not to belong to the group of devices. Update eachdevice record to indicate whether the associated devices belong to thegroup of devices.

The invention provides the advantage of allowing location data from awireless network to be selected or filtered for groups of devices foruse in a mobility analysis of the location data relevant for each groupof devices. The invention reduces the amount of location informationthat needs to be transmitted from the data collector apparatus (orwireless network), which consumes less bandwidth in the network. Theinvention also reduces the storage requirements of the locationinformation for data filtering, collection and analysis. The inventionreduces the amount of analysis required and minimizes processing time asonly the location data relevant to the group of devices is analysed. Inaddition, the results output by the mobility analysis such as mobilitymodels generated use less input location data from non-relevant sourcesresulting more accurate mobility models and/or results.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the invention may be more fully understood, some of theembodiments of the invention will now be described, by way of exampleonly, with reference to the accompanying drawings, in which:

FIG. 1 is a schematic illustration of a conventional system forcollecting and analysing location data;

FIG. 2 is a schematic illustration of an example data collection andanalysis system according to the invention;

FIG. 3 is another schematic illustration of an example mobile networkincluding another example data collection and analysis system accordingto the invention;

FIG. 4a is a flow diagram illustrating an example process for collectinglocation data according to the invention;

FIG. 4b is a flow diagram illustrating an example process formaintaining a device database according to the invention;

FIG. 4c is a flow diagram illustrating an example process for analysinglocation data according to the invention;

FIG. 4d is a flow diagram illustrating another example process foranalysing location data according to the invention;

FIG. 4e is a flow diagram illustrating example process for calculating adistance a device has moved based on the location data according to theinvention;

FIG. 4f is a flow diagram illustrating an example process for performingmobility analysis according to the invention;

FIG. 5 is a schematic illustration of another example data collectionand analysis system according to the invention;

FIG. 6a is a schematic illustration of an example data collectionapparatus according to the invention;

FIG. 6b is a schematic illustration of an example analysis apparatusaccording to the invention; and

FIG. 7 is a schematic illustration of a data collection and analysisapparatus according to the invention

DETAILED DESCRIPTION

In order to overcome the problems identified above with present locationdata collection and analysis systems, methods and apparatus aredescribed for use in handling location data generated from multiplesources and wireless networks (e.g. mobile networks) for use in mobilityanalysis. The basic concept of the invention is to provide a mechanismfor only collecting data from devices or group(s) of devices that are ofinterest for a mobility analysis that is to be performed. For example,this may be achieved by receiving device data from the wireless networkfrom a plurality of devices and discarding all data that is from adevice(s) that are determined not to belong to a group(s) of devices tobe analysed and/or the device(s) are not of interest or not relevant tothe mobility analysis. In addition, to assist the determination ofwhether a device belongs to the group(s) of devices and/or is relevantto the mobility analysis, the movement pattern of the device from whichlocation data has been collected is analysed to determine whether thedevice is of interest (e.g. by looking at which devices have been movedbetween many different locations). Each device that has been detectednot to belong to the group of devices and/or not to be of interest orrelevant to the mobility analysis is recorded or stored for use in thedetermination when data relating to that device is received again.

FIG. 2 is a schematic illustration of the basic components of an exampledata collection and analysis system 200 according to the invention. Thesystem 200 filters and collects location data from mobile networks 201and creates models of device mobility based on a mobility analysis on agroup(s) of devices. Mobile network 201 is used, by way of example only,and it is to be appreciated that any suitable wireless network may beused for collecting and analysing location data. As mentionedpreviously, the group of devices may include all devices of a particulardevice type—e.g. devices carried by humans such as mobile phones ordevices carried by vehicles e.g. GPS tracking systems or in vehiclemobile systems. The system 200 includes a data collector 202 a forreceiving data from the mobile network 201, where the data collector 202a is in communication with a device database 202 b. The data collector202 a is in communication with a data analyser 203, which performs themobility analysis on the received collected data. The analyser 203 isalso in communication with a data exposer 204, which receives theresults of the mobility analysis (e.g. mobility models etc) for use bythird parties or various applications.

In particular, mobile network 201 collects data about the locations ofall connected devices from one or more nodes in the network 201 andsends this data to the data collector 202 a. All the connected devicesmay include all non-stationary and/or stationary devices that connectwith the mobile network 201 such that location data is generated.Location data is generally generated by the mobile network 201 based onmessages received from the connected devices. In this example, thelocation data for each device includes data representative of the devicelocations, a timestamp, and a unique identifier (e.g. this may be anydata that can be used to identify the location data for a particulardevice). Data collector 202 a collects the location data from thedifferent data sources (or devices) and converts it into a uniformformat. The Data collector 202 a processes the location data todetermine which portions of the location data are the most relevant forfurther analysis of each of the groups of devices. The data collector202 a determines for each group of devices whether the devices belong tothe group of devices based on the unique identifier. If the devicebelongs to a group of devices, then the location data for that device isrelevant for the mobility analysis.

In this example, the data collector 202 a queries a list of devices or adevice database 202 b using the unique identifier to determine whetherthe device associated with the location data belongs to a group ofdevices and whether the location data for the device is relevant for themobility analysis. The list of devices or device database may include arelevancy indicator or a group identifier indicating whether the devicebelongs to the group and/or whether any location data for the device isrelevant to the mobility analysis. The data collector 202 a sends thelocation data for only those devices found to belong to the group ofdevices and/or location data relevant for the mobility analysis to adata analyzer for processing (e.g. mobility analysis). This locationdata may be in a uniform format and includes data representative ofdevice locations, timestamps and unique identifiers.

Data analyzer 203 processes the location data received from the datacollector 202 a and creates models of device mobility. It is apparentthat the received location data only includes location data for devicesthat the data collector 202 a determined belong to the group of devicesand are relevant for the mobility analysis. In addition, based on thereceived location data from the data collector 202 a, the data analyzer203 also detects devices of unwanted type that do not belong to a groupof devices for the mobility analysis, and/or that are no longerconsidered relevant for the mobility analysis. The data analyzer 203feeds back to the data collector 202 b device information associatedwith the devices of unwanted device type or non-relevant devices to thedata collector 202 a for use in updating the list of devices or devicedatabase 202 b. After processing, the data analyzer 203 sends the resultof the mobility analysis (e.g. mobility models) based on location dataof devices that belong to the group of devices and the location data isrelevant to the analysis to the data exposer 204. Data exposer 204stores the mobility models for distribution and/or integrates them withthird parties such as other applications and/or services.

FIG. 3 is another schematic illustration of a mobile network 300including another example data collection and analysis system 308 a-310a according to the invention. It is apparent that mobile network 300 mayinclude several different mobile networks, for example a 2G mobilenetwork such as a Global System for Mobile Communications (GSM) basedmobile network and a 3G mobile network Universal MobileTelecommunications System (UMTS) based mobile network. It is to beappreciated that mobile network 300 may include other wireless networkssuch as WiFi, WiMAX or other legacy mobile networks, and 4G and beyondmobile networks such as Long Term Evolution (LTE)/LTE Advanced mobilenetworks or any future mobile network. The data collection and analysissystem is illustrated by central nodes 308 a-310 b and receive locationdata from the mobile network(s) 300 to create mobility analysis resultssuch as origin-destination matrices that describe subscriber travelpatterns while at the same time filtering out data from devices ofsubscribers that do not belong to a group of devices and/or are notrelevant to the mobility analysis of the group of devices.

In particular, the mobile network 300 includes a first group of devices302 a such as mobile or non-stationary devices 301 a-301 c (e.g. mobilephones held by humans), a stationary device 301 d (e.g. a remote sensoror utility meter), and a second group of mobile or non stationarydevices 301 e-301 g (e.g. mobile devices held by vehicles). The devices301 a-301 g are in communication with the mobile network 300 via basestation 303 a, which is illustrated as a base transceiver station (BTS)of a GSM based mobile network, and base station 303 b, which isillustrated as a Node B of a UMTS based mobile network. The basestations 303 a and 303 b are in communication with a mobile switchingcenter (MSC) 305 via a base station controller (BSC) node 304 a and aradio network center node 304 b, where MSC 305 receives data fromdevices 301 a-301 g. MSC 305 is in communication with a gateway mobilepositioning center server (GMPC) 306, which receives the data fromdevices 301 a-301 g and generates, using location database 307 a,location data for each of the devices 301 a-301 g. The location data isforwarded to the central nodes 308 a-310 a of the data collection andanalysis system for processing in accordance with the invention.

For simplicity, the system 308 a-310 b as described in FIG. 3 willoperate on data received from the first group of devices 302 a, whichare non-stationary devices typically held by humans, to produce mobilitymodels of human mobility. However, it is to be appreciated that thesystem 308 a-310 b may also operate on data from the second group ofdevices 302 b, which are non-stationary devices typically held byvehicles such as a fleet of vehicles, or even a combination of thesetypes of devices (not shown).

In operation, events generated from devices 301 a-301 g in the mobilenetwork 300 are captured by the BSC and RNC nodes 304 a and 304 b andforwarded to the MSC 305. The events carry information about which cellsof the mobile networks 300 the events were generated in and also mayinclude a unique identifier (e.g. a subscriber id) for the device thatgenerated the event. The events can also contain a timing advance (TA)value that can be used to estimate a location of the device. Generally,the events contain no information about the type of device that hasgenerated the event. The events may include any message received fromthe devices 301 a-301 g, which are later converted into location datafor each of the devices 301 a-301 g. By way of example only, networkevents generated by devices 301 a-301 g may include, but are not limitedto, events based on:

-   -   Mobile Originating Traffic;    -   Mobile Terminating Traffic;    -   Normal Location Update;    -   Periodic Location Update;    -   Location Updating and International Mobile Subscriber Identity        (MI)/General    -   packet radio service (GPRS) Attach;    -   IMSI/GPRS Detach;    -   IMSI Attach;    -   IMSI Detach;    -   Short Message Service (SMS) Originating Traffic;    -   SMS Terminating Traffic;    -   Mobile-originated (MO) Supplementary Services Procedure; and    -   Mobile-terminated (MT) Supplementary Services Procedure.

The events collected by the MSC node 305 are forwarded to the GMPCserver 306, which uses the information in the events and the locationdatabase 307 containing cell tower locations to estimate thegeographical location of the devices 301 a-301 g that generate theevents.

The GMPC server 306 sends location data of the estimated deviceslocations to the data collector node 308 a (DataC). For each device 301a-301 g that generated an event, the location data includes a uniqueidentifier such as a subscriber-id, user identifier or user-id (e.g. anMSISDN) and data representing the estimated location e.g. longitude andlatitude (LON and LAT). The data collector node 308 a receives thelocation data and for each device the data collector node 308 a uses theunique identifier (e.g. MSISDN) in a query to a device database 308 b tocheck if the associated device belongs to a group of devices 302 a or302 b and has been marked as relevant or non-relevant to the mobilityanalysis of the group of devices 302 a or 302 b. If it has not beenmarked as non-relevant and the device belongs to a group of the devices302 a or 302 b the location data for only those devices considered, bydata collection node 308 a, to belong to a group of devices 302 a or 302b and are relevant to the mobility analysis is forwarded to the dataanalyser node 309 a.

The data analyzer node 309 a receives the location data for only thosedevices determined to belong to a group of devices 302 a or 302 b and isrelevant to the mobility analysis from the data collector node 308 a andstores all the received location data as location trace information in alocation trace database (Loc. Tr. DB) 309 b. The data analyser node 309a performs a mobility analysis on the stored location data associatedwith a group of the devices 302 a or 302 b according to a mobilityanalysis schedule.

The mobility analysis schedule may be a periodic schedule (e.g. theanalysis is performed every X hours (e.g. X may be set to 24 hours)), anaperiodic schedule, a dynamic schedule depending on the load on the dataanalyser node 309 a, or any other schedule or combination thereof. Inaddition, the mobility analysis may also be scheduled to calculate amobility model associated with the group of devices 302 a or 302 b forvarious analysis intervals since the last analysis. Based on themobility analysis schedule, the data analyzer node 309 a retrieves thelocation trace information associated with a group of devices 302 a or302 b and performs the mobility analysis. The mobility analysiscalculates mobility models associated with retrieved location data ofthe group of devices 302 a or 302 b. As an example, the mobilityanalysis schedule may schedule the mobility analysis to be performedperiodically every 24 hours and for the mobility analysis to calculatemobility models associated with the groups of devices 302 a or 302 b foran analysis interval of each hour in the past 24 hours.

As illustrated, the mobility models are Origin-destination matrices (O/Dmatrices), which are output to the data exposer node (DataE) 310 a. Dataexposer node 310 a stores the O/D matrices in an O/D matrix database(O/D Mx DB) 310 b and makes them available for access by or distributionto third parties, users or applications and services.

In addition, in this example, the data analyser node 309 a may perform adevice relevancy analysis according to a relevancy analysis schedule.The relevancy analysis schedule may be a periodic schedule (e.g. theanalysis is performed every Y hours (e.g. Y may be set to 72 hours)), anaperiodic schedule, a dynamic schedule depending on the load on the dataanalyser node 309 a, or any other schedule or combination thereof.According to the relevancy analysis schedule, the data analyser node 309a performs a relevancy analysis process that determines whether thedevices associated with the stored location trace data still belong tothe group(s) of devices 302 a or 302 b and/or are still relevant for usein the corresponding mobility analysis.

As an example, the data analyser node 309 a may use a distancecalculation to determine whether the devices move according to theexpectations of the group of devices 302 a or 302 b. For example, thedata analyser node 309 a may calculate the total distance that eachdevice has been moved since the last relevancy analysis or according tothe relevancy analysis schedule (e.g. the total distance that eachdevice has been moved during 72 hours). Each device that has moved lessthan a predetermined threshold distance since the last relevancyanalysis is determined to be a device not relevant to the correspondingmobility analysis or does not belong to the group of devices 302 a or302 b under analysis.

For example, each device in the first group of devices 302 a arenon-stationary devices that are carried by humans, so the predeterminedthreshold distance for this group of devices 302 a may be set to adistance that typically indicates human movement e.g. 1000 m. In anotherexample, each device in the second group of devices 302 b arenon-stationary devices that are carried by vehicles, so thepredetermined threshold distance for this group of devices 302 b may beset to a distance that typically indicates vehicular movement e.g. 3 km.To reduce the computational load on the data analyser node 309 a, themobility analysis may be scheduled to occur more frequently than therelevancy analysis.

Based on the relevancy analysis, the data analyser node 309 a sendsdevice information of all the devices that are determined as notbelonging to the group of devices 302 a or 302 b and/or are not relevantto the corresponding mobility analysis. The device information mayinclude the unique identifiers (e.g. MSISDNs) of these devices. Forexample, the devices may be considered not to belong in the first groupof devices 302 a, which are devices carried by humans or the devices maybe considered not to belong in the second group of devices 302 b, whichare devices carried by vehicles. The device information is sent to thedata collector node 308 a, which uses the device information to updatethe list of devices or device database 308 b and stores these devices asnot belonging to a group of devices 302 a or 302 b and/or are notrelevant to the corresponding mobility analysis. Although these devicesmay send further location events that generate location data, thelocation data associated with these devices that is received by the datacollection node 308 a will now be discarded (i.e. filtered out) by thedata collection node 308 a.

The data collection and analysis system as described above produces O/Dmatrices that can be used by public transportation operators to plantheir operations with increased understanding of human or vehiclemobility. The present invention provides the advantages of mote accuratemobility analysis results such as more accurate O/D matrices because thelocation data from non-relevant devices are discarded prior to the dataanalyser node 309 a performing the mobility analysis. In addition, thereis a reduction in storage of location information as less informationneeds to be stored in the location trace database 309 b, and lessstorage space and bandwidth is also required for sending locationinformation between nodes 308 a, 309 a and 310 a and the correspondingdatabases 308 b, 309 b and 310 b.

FIG. 4a is a flow diagram illustrating an example process 400 forfiltering and collecting location data from a plurality of devices in awireless network (e.g. a mobile network) for use in a mobility analysisof a group of the devices. The process 400 is a method of operating adata collection apparatus such as, for example, data collection node 308a or 601 when collecting location data from the plurality of devices,the steps performed are as follows:

-   401. Receive location data including unique identifiers for one or    more devices of the plurality of devices in the wireless network.    Proceed to step 402.-   402. Determine whether the devices belong to a group of devices    based on the unique identifiers. Determining the devices that belong    to the group of devices may include determining whether the devices    are relevant to the mobility analysis based on the unique    identifier. This may include looking up a device list. This may also    include querying a device database using the device identifier to    determine whether the corresponding device belongs to the group of    devices. The device database may send an indication of whether the    device belongs to the group of devices; the indication may depend on    whether the location data for the device is relevant to the mobility    analysis performed for the group of devices.-   403. Does a device belong to the group of devices? If yes, then    proceed to step 404. It is to be appreciated that a device belonging    to the group of devices is a device or device type that is relevant    to the mobility analysis performed on the group of devices.    Otherwise, proceed to step 401, e.g. discard the location data for    devices not belonging to the group of devices and/or are not    relevant to the corresponding mobility analysis and proceed to step    401 for receiving further location data.-   404. Forward the location data for devices determined to belong to    the group of devices and/or devices that are relevant to the    mobility analysis for the group of devices for use in the mobility    analysis of the location data for the group of devices.

Step 402 and 403 may further include identifying a device recordassociated with the unique identifier of the location data from eachdevice, and checking the identified device record indicates whether theassociated device belongs to the group of devices. Alternatively oradditionally, steps 402 and 403 may include identifying a device recordassociated with the unique identifier of the location data from eachdevice, and checking the identified device record indicates whether theassociated device is relevant to the mobility analysis of the group ofdevices.

FIG. 4b is a flow diagram illustrating an example process 410 for use inmaintaining a device database that may be used process 400. The process400 is a method of operating a data collection apparatus such as, forexample, data collection node 308 a or 601 in maintaining or updating adevice database when collecting location data according to process 400,the steps performed are as follows:

-   411. Maintaining a device database including a plurality of device    records, where each device record indicates whether the device    associated with the device record belongs to the group of devices    and/or is relevant to the corresponding mobility analysis. Proceed    to step 412.-   412. Receiving device information from an analyser apparatus or    node, the device information indicating whether one or more devices    belong to the group of devices. The device information may include    information associated with devices determined, by the analyser    apparatus, not to belong to the group of devices and/or not relevant    to the corresponding mobility analysis. Additionally or    alternatively, the device information may include information    associated with one or more devices determined to belong to the    group of devices and/or relevant to corresponding mobility analysis.    Proceed to step 413.-   413. Updating the device database device records based on the device    information. This may include updating the device record to indicate    the device associated with the device record does not belong to the    group of devices and/or is not relevant to the corresponding    mobility analysis. Additionally or alternatively, this may include    updating each device record associated with the device information    to indicate the device associated with the device record is relevant    to the group of devices and/or is relevant to the corresponding    mobility analysis of the group of devices.

FIG. 4c is a flow diagram illustrating another example process 420 foruse in filtering and collecting location data from a plurality ofdevices in a wireless network for use in a mobility analysis of a groupof the devices. The process 420 is a method of operating a datacollection apparatus such as, for example, data collection node 308 a or601 when filtering and collecting location data from the plurality ofdevices, the steps performed are as follows:

-   421. Receive location data including unique identifiers for one or    more devices of the plurality of devices in the wireless network.    Proceed to step 422.-   422. Analyse the received location data from each of the one or more    devices to determine whether said each device can be associated with    the group of devices. As an example, the analysis may include    analysing the device speed or distanced moved for each device to    determine whether it is associated with the group of devices' device    speeds or distances moved. Proceed to step 423.-   423. Update a device database's device records to indicate whether    or not each of the one or more devices belongs to the group of    devices. Proceed to step 424.-   424. Storing the received location data for devices found to belong    to the group of devices. Proceed to step 425.-   425. Performing a statistical analysis on the stored received    location data to further determine whether the corresponding devices    belong to the group of devices.-   426. Maintaining the device records associated with devices    determined not to belong to the group of devices based on the    statistical analysis.-   427. Forward the stored location data for devices determined to    belong to the group of devices and/or devices that are relevant to    the mobility analysis of the group of devices for use in the    mobility analysis and/or for distribution.

When the processes 400, 410 and 420 include a device database withdevice records, it is to be appreciated that each device recordassociated with a device that does not belong to the group of devicesmay include a timestamp indicating when the device record indicated theassociated device does not belong to the group of devices. The steps402, 403, 411 and 426, may then include updating each device record toindicate the associated device belongs to the group of devices after apredetermined period of time has elapsed. The updating may be performedwhen it is determined the associated device has moved, and/or theupdating may be performed if the device has moved and whether it isdetermined that the amount of movement etc is associated with the groupof devices.

FIG. 4d is a flow diagram illustrating an example process 430 for use inanalysing collected location data for a plurality of devices in awireless network for use in a mobility analysis of a group of thedevices. The process 430 is a method of operating a data analysisapparatus such as, for example, data analysis node 309 a or 611 whenanalysing collected location data from the plurality of devices, thesteps performed are as follows:

-   431. Receiving location data for devices determined to belong to the    group of devices. Proceed to 432.-   432. Storing the received location data for use during a mobility    analysis of the group of devices. Proceed to 433.-   433. Performing the mobility analysis based on the stored location    data to generate mobility analysis results for the devices found to    belong to the group of devices. Proceed to 434.-   434. Forwarding the mobility analysis results for distribution.    Proceed to 431.

Step 433 may be performed according to a first schedule. In addition,the process 430 may include a relevancy analysis step that may beperformed according to a second schedule. The first and second schedulesmay be arranged such that the step of performing the relevancy analysisis less frequent than the step 433 of performing the mobility analysis.The relevancy analysis determines whether the devices associated withthe stored received location data still belong to the group of devicesand/or are relevant to the mobility analysis for the group of devices.Based on the relevancy analysis, device information is generatedassociated with one or more devices determined not to belong to thegroup of devices. The device information may include a list of theunique identifiers of devices determined not to belong to the group ofdevices and/or not relevant to the mobility analysis. The deviceinformation may be sent to processes 400 or 420 for use in updating thedevice lists, device databases, or for use in determining, based on theunique identifiers, whether the devices associated with the receivedlocation data belong to the group of devices.

Step 433 may further include creating mobility models based on thelocation data stored in the location database. As an example, themobility models created may include a plurality oforigination/destination matrices derived from the stored location data.

FIG. 4e provides an example process 440 for use with process 430, inwhich a location database including a plurality of device locationrecords including location data of devices determined to belong to thegroup of devices. The process 440 includes the steps of:

-   441. Maintaining the location database based on the received    location data.-   442. Performing a relevancy analysis based on a calculation of the    distance each device has moved based on the location data stored in    the location database. The relevancy analysis may include comparing    the calculated distance for each device with a distance threshold to    determine whether each device belongs to the group of devices.-   443. Transmitting, to a data collection device maintaining a device    database, a list of devices, device information associated with one    or more devices determined not to belong to the group of devices.    The device information may include the unique identifiers from the    location data for the devices determined not to belong to the group    of devices. As an example, a device database may include a plurality    of device records. Each device record indicates whether the device    associated with the device record belongs to the group of devices.    The device information is for use in updating each device record    associated with the device information. Alternatively, the device    information may be stored and simply used in the determination of    whether the devices belong to the group of devices based on the    unique identifier.

FIG. 4f is a flow diagram illustrating an example process 450 for use infiltering, collecting and analysing collected location data for aplurality of devices in a wireless network for use in a mobilityanalysis of a group of the devices. The process 450 is a method ofoperating an apparatus such as, for example, data collection andanalysis node 700, the steps performed are as follows:

-   451. Receiving location data for one or more of the devices, where    the location data for each device includes a unique identifier.-   452. Determining the devices that belong to the group of devices    based on the unique identifier.-   453. Performing the mobility analysis based on the location data of    devices determined to belong to the group of devices to generate    mobility analysis results.-   454. Forwarding the mobility analysis results for further    distribution.

As an example, the process 450 may include the steps of maintaining adevice database including a plurality of device records, where eachdevice record indicates whether the device associated with the devicerecord belongs to the group of devices. Maintaining a location databaseincluding a plurality of device location records, where each devicelocation record includes location data of a device determined to belongto the group of devices for use in the mobility analysis. The step 452of determining may further include determining from the device databasethe devices that belong to group of devices based on the deviceidentifier. The step 453 of performing the mobility analysis furtherincludes performing the mobility analysis based on the location datastored in the location database.

In addition, the process 450 may include the steps of performing arelevancy analysis on the plurality of device location records todetermine whether the associated devices belong to the group of devices.The step of maintaining the location database further includes removingeach device location record associated with a device determined not tobelong to the group of devices. The step of maintaining the devicedatabase further includes updating each device record associated with adevice determined not to belong to the group of devices.

Regarding FIGS. 4a to 4f , the group of devices may include devicesrelating to one or more specific device types that are relevant to themobility analysis. By way of example only, it is to be appreciated thatthe specific device types may include, but are not limited to, devicesbased on one or more of a non-stationary device(s), a stationarydevice(s), a device(s) carried by humans, and a device(s) carried bynon-stationary vehicles.

There are many examples of classifying a device as having human ornon-human device features or behaviour based on location data orlocation traces for the corresponding device. Devices having non-humandevice features or behaviour are devices that are not carried by humanse.g. devices carried by vehicles that communicate with the wirelessnetwork or stationary devices such as sensors or utility meters that maycommunicate with the wireless network (e.g. a mobile network).Conversely, devices having human device features or behaviour aredevices that are carried by humans, e.g. any portable device capable ofcommunicating with the wireless network e.g. mobile phones, net-books,laptops, portable digital assistants and the like.

Algorithms that can user location data for devices to check locationsand calculate speed of movement of the devices can be used fordetermining whether a device has non-human device features or behaviouror human features or behaviour. Some devices that spend a long timebeing in a static state or have regular or constant speedcharacteristics are typically devices not carried by humans and so havenon-human device behaviour. For example, some mobile monitoringequipment for transportation in cities, mobile equipment for engineeringmeasurement in vehicles can spend the whole day in a static status or ata relatively constant speed. Devices with human device mobility featuresor behaviour typically do not have these characteristics. Devices thattypically show human movement characteristics or behaviour (alsoreferred to as human device features) typically generate complex speedpatterns and also places visited.

As an example an algorithm using location data to detect devices havingnon-human device features or behaviour may include the following:

-   -   Save all location data for each device for a period of time e.g.        3 days;    -   For each device, if the device has not moved during this period        of time mark it as non-human as it may be a stationary device        such as a sensor;    -   For each device, if the device has moved, then calculate the        speed of movement. If the speed has been substantially constant        during the period of time (e.g. 3 days) the device is most        likely fixed on a vehicle, if so, mark it as non-human.

Devices having non-human device features or behaviour may be classifiedinto two main types, 1) relative static devices, and 2) non-staticdevices. Relative static devices can have two primary features, a) thedevice can stay for a long time in one place, e.g. over 24 hours orlonger, and b) may keep constant speed once moving. The other devicetype is non-static devices, which may have several features. The firstfeature is that the device may have different speed profiles or places,but still can be found based on analysis over longer time periods, e.g.a month or even year(s), to exhibit behaviour showing these devices havethe same start place and end place during the period of time indicatinga regular movement that is non-human, e.g. the device is fixed to a bus,train or other public transportation. The second feature is whether thedevice exhibits properties that are non-human e.g. moving is more than athreshold value (e.g. 20 hours) in the long run in one area. The thirdfeature may be that the device enters or is in a location that a humanshould not access e.g. dangerous areas such as factories or otherhazardous area, which can be set to determine whether a device exhibitsnon-human behaviour or features based on the location data.

FIG. 5 is a schematic illustration of another example data collectionand analysis node 500 for use in a wireless network (e.g. a mobilenetwork) according to the invention for use in a mobility analysis ofone or more group(s) of devices. For simplicity, this example refers toone group of devices, it is to be appreciated that the data collectionand analysis node 500 may collect location data for more than one groupof devices for a mobility analysis. This example performs an onlinedetection of devices that do not belong to the group of devices for themobility analysis, these devices are non-relevant devices to themobility analysis. The online process to detect non-relevant devices maybe performed in real-time. The data collection node 500 includes adirect verification method(s) module (DVM) 501, which is incommunication with a device database 502 and the data collection/storage503. The data collection/storage 503 is coupled to an action analysismethod(s) module 504 (AAM), which is in also in communication with thedevice database 502.

In operation, the data collection and analysis node 500 receives in step510 location data for the plurality of devices from the wireless networkvia the DVM 501. All the received location data is filtered first by theDVM 501. The DVM 501 includes fast algorithms that can quickly analysethe location data and determine whether the location data for eachdevice corresponds to a device that belongs to the group of devices forthe mobility analysis.

In step 511, the DVM 501 also maintains the device database 502 for usein recording and querying whether a device belongs to the group ofdevices for the analysis. For example, if the group of devices aredevices that exhibit human movement characteristics or behaviour, thenthe fast algorithms are configured to detect whether the receivedlocation data for a device exhibits human movement characteristics orbehaviour such as a mobile phone (also referred to as a human device) orwhether the location data is for a device that exhibits non-humanmovement characteristics or behaviour such as a fixed sensor or vehicleGPS system (also referred to as a non-human device). The DVM 501 canquery the device database 502 to check whether the location data for thedevice corresponds to a non-human device, if this is the case, then thelocation data for this device is discarded. If the device is not in thedevice database 502, the DVM 501 can also compute and check whether thedevice speed is always the same, or use the above-mentioned algorithmsto determine whether the device has non-human/human movementcharacteristics or behaviour. When the DVM 501 finds a device havingnon-human movement characteristics or behaviour that is not in thedevice database 502, it tags the device and includes a device record inthe device database 502 indicating the device does not belong to thegroup of devices.

The DVM 501 will always keep running in data collection/filtering mode,during DVM computation, it can find some device related data, then savethe device related data into the device database 502 to record thedevice features, e.g. this device has been at the same place for a longperiod of time, or has constant speed. The device database 502 caninclude device data and also device activity features in order toprovide separate device data and in convenient to query device. Theremaining location data that is not filtered out by the DVM 501 can beassumed, at this stage, to be for devices belonging to the group ofdevices.

In step 512, the remaining location data is passed to datacollection/storage 503 and saved. The location data may be saved in adata collector location database (not shown). This location data is thelocation data for devices that the DVM 501 has determined to belong tothe group of devices and may be retrieved and used for a mobilityanalysis. However, the location data for these devices may be furtheranalysed and filtered so the device database 502 can be regularlyupdated.

In step 513, the stored location data for devices assumed to belong tothe group of devices is passed to the AMM 504 for further analysis inupdating the stored location data and the device database 502. The AAM504 further filters the stored location data to detect any possibledevices that should not belong to the group of devices, e.g. arenon-human devices. The AAM includes analysis algorithms that generatedata statistics (e.g. long term data statistics), which are analysed toverify whether the stored location data for each device exhibits thecorrect device movement characteristic or behaviour that is expected ofdevices belonging to the group of devices. The analysis may be performedover long term location data or data that has been collected over a longperiod of time.

For example, the AAM 504 may perform some of the following:

-   -   A Trace loop routes algorithm may compute the route a device        takes, if the device has been to the same places several times        and keeps regular hours, the algorithm may conclude that the        location data for the device exhibits a bus or train action        characteristics or features over a long period of time. That is        the device exhibits non-human movement characteristics.    -   For suspicious devices, list every long time regular activity of        the suspicious devices to study and possibly match the device as        having non-human/human device features or characteristics. The        analysis may be based on different statistical data and        original/destination (O/D) routes over a period of time during        the analysis.

In step 514, the AAM 504 sends device data related to devices that arefound to not belong in the group of devices for updating or enteringinto the device database 502.

Instead of having a device database 502, in an alternative solution, thedevice information about non-interesting devices or devices notbelonging to the group of devices may be recorded somewhere (in anothernode) within the wireless network such that the wireless network doesnot report any location data from these devices to the data collectionand analysis node 500. The DVM 501 and AAM 504 may report the devicesthat are of interest or not of interest to the wireless network suchthat only location data from devices belonging to the group of devicesis received from the wireless network.

FIG. 6a illustrates an example apparatus 600 (e.g. a data collectionnode) for use in filtering location data for a plurality of devices 301a-301 g in a wireless network (e.g. a mobile network 300) for use in amobility analysis of a group of the devices 302 a or 302 b. Forsimplicity, the reference numerals of FIG. 3 will be used in relation toFIGS. 6a, 6b and 7 as an illustration. The apparatus 600 includes areceiver 601, a transmitter 602, a processor 603 and memory 604. Theprocessor 603 being connected to the receiver 601, transmitter 602 andmemory 604.

In operation, the receiver 601 is configured to receive location datafor one or more of the devices 301 a-301 g, where the location data foreach device includes a unique identifier. The processor 603 is furtherconfigured to determine 605 the devices that belong to the group ofdevices 302 a or 302 b based on the unique identifiers. The transmitter602 is configured to forward the location data for devices that aredetermined to belong to the group of devices 302 a or 302 b to ananalysis apparatus 309 a or 610 for performing the mobility analysis.

When the processor 603 is configured to maintain a device database 308 bincluding a plurality of device records, where each device recordindicates whether the device associated with the device record belongsto the group of devices 302 a or 302 b, the processor 603 is furtherconfigured to query 605 the device database 308 b using the uniqueidentifiers to determine the devices that belong to the group of devices302 a or 302 b. The receiver 601 is also further configured to receive,from the analyser apparatus 309 a or 610, device information associatedwith whether one or more devices belong to the group of devices 302 a or302 b. The processor 603 is further configured to update each devicerecord associated with the device information to indicate whether thedevice associated with the device record belongs to the group of devices302 a or 302 b.

FIG. 6b illustrates an example apparatus 610 or 309 a for analysinglocation data for the plurality of devices 301 a-301 g in the wirelessnetwork (e.g. a mobile network 300) for use in a mobility analysis of agroup of the devices 302 a or 302 b. The apparatus 610 includes areceiver 611, a transmitter 612, a processor 613 and memory 614. Theprocessor 613 being connected to the receiver 611, transmitter 612 andmemory 614.

In operation, the receiver 611 is configured to receive and storelocation data for devices determined to belong to the group of devices302 a or 302 b. The processor 613 is further configured to perform themobility analysis 615 based on the stored location data to generatemobility analysis results for the devices found to belong to the groupof devices 302 a or 302 b. The transmitter 612 is configured to forwardthe mobility analysis results for further distribution.

When the processor 613 is further configured to maintain a locationdatabase 309 b including a plurality of device location records, whereeach device location record includes location data of a device thatbelongs to the group of devices 302 a or 302 b, the receiver 611 isfurther configured to store the location data for devices determined tobelong to the group of devices 302 a or 302 b in the location database309 b. The processor 613 is further configured to perform the mobilityanalysis 615 based on the stored location data in the location database309 b to generate mobility analysis results for the devices found tobelong to the group of devices 302 a or 302 b.

The processor 613 may also be further configured to perform acalculation of the distance each device has moved based on the locationdata stored in the location database 309 b. Based on the calculation,the processor 613 can be configured to compare the calculated distancefor each device with a distance threshold to determine whether one ormore devices belong to the group of devices 302 a or 302 b. Thetransmitter 612 is further configured to transmit, to the apparatus 600or 308 a for filtering as described with reference to FIG. 6a , deviceinformation associated with whether one or more devices are determinednot to belong to the group of devices 302 a or 302 b, the deviceinformation for use by the apparatus 600 or 308 a in determining thedevices that belong to the group of devices based on the uniqueidentifier.

FIG. 7 illustrates an example apparatus 700 for filtering and analysinglocation data for a plurality of devices 301 a-301 g in a wirelessnetwork (e.g. a mobile network 300) for use in a mobility analysis of agroup of the devices 302 a or 302 b. The apparatus 700 includes areceiver 701, a transmitter 702, a processor 703 and memory 704, theprocessor 703 being connected to the receiver 701, transmitter 702 andmemory 704.

In operation, the receiver 701 is configured to receive location datafor one or more of the devices 301 a-301 g, where the location data foreach device includes a unique identifier. The processor 703 is furtherconfigured to determine 705 the devices that belong to the group ofdevices 302 a or 302 b based on the unique identifier. The processor 703is also configured to store the location data for devices that belong tothe group of devices 302 a or 302 b. The processor 703 is alsoconfigured to perform the mobility analysis 705 based on the storedlocation data to generate mobility analysis results for the group ofdevices 302 a or 302 b. The transmitter 702 is configured to forward themobility analysis results for further distribution.

When the processor 703 is further configured to maintain a devicedatabase 308 b including a plurality of device records, where eachdevice record indicates whether the device associated with the devicerecord belongs to the group of devices 302 a or 302 b, the processor isconfigured to determine 705 from the device database 308 b the devicesthat belong to the group of devices 302 a or 302 b based on the uniqueidentifier.

When the processor is configured to maintain a location database 309 bincluding a plurality of device location records, where each devicelocation record includes location data of a device determined to belongto the group of devices 302 a or 302 b for use in the mobility analysis.The processor is configured to perform the mobility analysis 705 basedon the location data stored in the location database 309 b. Theprocessor is also configured to perform a relevancy analysis 705 on theplurality of device location records to determine whether the associateddevices belong to the group of devices 302 a or 302 b. The processor 703is configured to remove from the location database 309 b each devicelocation record associated with a device determined not to belong to thegroup of devices 302 a or 302 b, and update each device record toindicate whether the associated devices belong to the group of devices302 a or 302 b.

The apparatus for filtering location data 600, apparatus for analysingcollected location data 610, and apparatus for filtering and analysinglocation data 700 as herein described can include memory units 604, 614and 704 and processors 603, 613 and 703, which can be used for storingand executing a computer program, comprising computer readable codewhich, when executed by the processors 603, 613 and 703, respectively,causes the apparatus 600, 610 and 700 to perform the relevant methods,procedures, or processes of the invention as described herein. Suchcomputer programs as described herein can be incorporated within one ormore computer program products, each comprising a computer readablemedium and one or more of the computer programs, where one or more ofthe computer programs are stored on the computer readable medium.

Although some of the examples provided herein referred to mobilenetworks, this was by way of example only, and it will be appreciated bythe person of skill in the art that the invention is not limited to onlywireless networks but is applicable to any suitable wirelesscommunication network from which location data may be collected andanalysed according to the invention.

It will be appreciated by the person of skill in the art that variousmodifications may be made to the above described examples and/orembodiments without departing from the scope of the present invention.

The invention claimed is:
 1. A method for filtering location data from aplurality of devices in a wireless network for use in a mobilityanalysis of a group of devices of one or more specific device types, themethod comprising: receiving location data from the devices, thelocation data from each device including a unique identifier;determining the devices that belong to the group of devices of one ormore specific device types and are relevant to the mobility analysisbased on the unique identifier; and forwarding the location data forthose devices determined to belong to the group of devices to ananalyser module for use in the mobility analysis; performing, accordingto a first schedule, the mobility analysis based on the location datastored in a location database to generate mobility analysis results forthe devices found to belong to the group of devices; performing,according to a second schedule, a device relevancy analysis to determinewhether each device belongs to the group of devices; and updating adevice database device records based on device information associatedwith one or more devices determined not to belong to the group ofdevices to indicate whether each device belongs to the group of devices.2. The method according to claim 1, further comprising: maintaining thedevice database including a plurality of device records, wherein eachdevice record indicates whether the device associated with the devicerecord belongs to the group of devices; and wherein determining thedevices that belong to the group of devices further comprises queryingthe device database using the unique identifiers to determine thedevices that belong to the group of devices.
 3. The method according toclaim 2, wherein maintaining the device database further comprises:receiving, from the analyser module, device information associated withone or more devices determined not to belong to the group of devices;and updating each device record associated with the device informationto indicate the device associated with the device record does not belongto the group of devices.
 4. The method according to claim 2, whereinmaintaining the device database further comprises: receiving, from theanalyser module, device information associated with one or more devicesdetermined to belong to the group of devices; and updating each devicerecord associated with the device information to indicate the deviceassociated with the device record belongs to the group of devices. 5.The method according to claim 2, wherein maintaining the device databasefurther comprises: receiving, from the analyser module, deviceinformation associated with one or more devices indicating whether theone or more devices are relevant to the mobility analysis of the groupof devices; and updating each device record associated with the deviceinformation to indicate whether the device associated with the devicerecord is relevant to the mobility analysis.
 6. The method according toclaim 2, wherein determining comprises: identifying a device recordassociated with the unique identifier of the location data from eachdevice; and checking the identified device record indicates whether theassociated device belongs to the group of devices.
 7. The methodaccording to claim 2, wherein determining comprises: identifying adevice record associated with the unique identifier of the location datafrom each device; and checking the identified device record indicateswhether the associated device is relevant to the mobility analysis ofthe group of devices.
 8. The method according to claim 1, furthercomprising: analysing the received location data from each device todetermine whether said each device can be associated with the group ofdevices.
 9. The method according to claim 8, wherein analysing thereceived location data includes analysing the device speed for eachdevice to determine whether it is associated with the group of devices'device speeds.
 10. The method according to claim 8, further comprising:storing the received location data for devices found to belong to thegroup of devices.
 11. The method according to claim 10, furthercomprising: performing a statistical analysis on the stored receivedlocation data to further determine whether the corresponding devicesbelong to the group of devices; and maintaining device recordsassociated with devices determined not to belong to the group of devicesbased on the statistical analysis.
 12. The method according to claim 2,wherein each device record associated with a device that does not belongto the group of devices includes a timestamp indicating when the devicerecord indicated the associated device does not belong to the group ofdevices, and wherein maintaining the device database further includesupdating each device record to indicate the associated device belongs tothe group of devices after a predetermined period of time has elapsed.13. The method according to claim 12, wherein updating each devicerecord to indicate the associated device belongs to the group of devicesis performed when it is determined the associated device has moved. 14.The method according to claim 1, wherein the specific device typecomprise at least one of: a device carried by humans; and a devicecarried by non-stationary vehicles; and stationary devices.
 15. A methodfor analysing collected location data for a plurality of devices in awireless network for use in a mobility analysis of a group of thedevices, the method comprising: maintaining a location databaseincluding a plurality of device location records, wherein each devicelocation record includes location data of a device belonging to thegroup of devices; receiving and storing location data for devicesdetermined to belong to the group of devices in the location database;performing, according to a first schedule, the mobility analysis basedon the location data stored in the location database to generatemobility analysis results for the devices found to belong to the groupof devices; performing, according to a second schedule, a calculation ofthe distance each device has moved based on the location data stored inthe location database; comparing the calculated distance for each devicewith a distance threshold to determine whether each device belongs tothe group of devices; and transmitting, to a data collection devicemaintaining a device database, device information associated with one ormore devices determined not to belong to the group of devices, whereinthe device database includes a plurality of device records, each devicerecord indicates whether the device associated with the device recordbelongs to the group of devices and wherein the device information isfor use in updating each device record associated with the deviceinformation.
 16. The method according to claim 15, wherein the first andsecond schedules are arranged such that performing a calculation of thedistance each device has moved is performed less frequently thanperforming the mobility analysis to generate mobility analysis results.17. The method according to claim 15, wherein performing the mobilityanalysis to generate mobility analysis results includes creatingmobility models based on the location data stored in the locationdatabase.
 18. The method according to claim 17, wherein the mobilitymodels created include a plurality of origination/destination matricesderived from the stored location data.
 19. The method according to claim15, further comprising: distributing the mobility analysis results. 20.The method according to claim 15, wherein the group of devices includesdevices relating to one or more specific device types that are relevantto the mobility analysis.
 21. The method according to claim 20, whereinthe specific device type comprise at least one of: a device carried byhumans; a device carried by non-stationary vehicles; and a stationarydevice.
 22. A method for filtering, collecting and analysing locationdata for a plurality of devices in a wireless network for use in amobility analysis of a group of devices of one or more specific devicetypes, the method comprising: receiving location data for one or more ofthe devices, wherein the location data for each device includes a uniqueidentifier; determining the devices that belong to the group of devicesof one or more specific device types and are relevant to the mobilityanalysis based on the unique identifier; and performing the mobilityanalysis based on the location data of devices determined to belong tothe group of devices to generate mobility analysis results; forwardingthe mobility analysis results for further distribution; performing,according to a second schedule, a device relevancy analysis to determinewhether each device belongs to the group of devices; and updating adevice database device records based on device information associatedwith one or more devices determined not to belong to the group ofdevices to indicate whether each device belongs to the group of devices.23. The method according to claim 22 further comprising: maintaining thedevice database including a plurality of device records, wherein eachdevice record indicates whether the device associated with the devicerecord belongs to the group of devices; and maintaining a locationdatabase including a plurality of device location records, wherein eachdevice location record includes location data of a device determined tobelong to the group of devices for use in the mobility analysis;wherein: wherein determining further includes determining from thedevice database the devices that belong to group of devices based on theunique identifier; and wherein performing the mobility analysis furthercomprises performing the mobility analysis based on the location datastored in the location database.
 24. The method according to claim 23,further comprising: wherein maintaining the location database furthercomprises removing each device location record associated with a devicedetermined not to belong to the group of devices; and whereinmaintaining the device database further comprises updating each devicerecord associated with a device determined not to belong to the group ofdevices.